import { Alova } from '@/utils/http/alova/index';


// 新增租户查询参数接口定义
interface GetTenantByAccountParams {
  account: string;
}


/**
 * @description: 获取用户信息
 */
export function getUserInfo(params) {
  return Alova.Post<InResult>(
    `/sys/login/getUserInfo`,
    {params}, 
    {
      meta: {
        isReturnNativeResponse: false,
      },
    }
  );
}

/**
 * @description: 根据账户查询租户
 */
// export function getTenantByAccount(params: GetTenantByAccountParams) {
//   return Alova.Post<InTenantResult>(
//     `/sys/tenant/user/queryByAccount`, // 请替换为实际后端租户查询接口地址
//     {
//       params   // 直接传递包含 account 的对象，格式为 { account: 'admin' }
//     });
// }

// : GetTenantByAccountParams
// <InTenantResult>
export function getTenantByAccount(params) {
  return Alova.Post<InResult>(
    `/sys/tenant/user/getByAccount`,
     { params},
     {
      meta: {
        isTransformResponse: true,
      },
    });
}


/**
 * @description: 用户登录验证（原login函数修改）
 */
export function verifyLogin(params) {
  return Alova.Post<InResult>(
    `/sys/login/verifyLogin`, // 新登录验证接口地址
    {
      params
    },  
    {
      meta: {
        isReturnNativeResponse: true,
      },
    }
  );
}

/**
 * @description: 用户修改密码
 */
export function changePassword(params, uid) {
  return Alova.Post(`/user/u${uid}/changepw`, { params });
}

/**
 * @description: 用户登出
 */
export function logout(params) {
  return Alova.Post('/login/logout', {
    params,
  });
}
